FuckedUpShape.prototype = new Shape3D();  
FuckedUpShape.prototype.constructor=FuckedUpShape;
function FuckedUpShape(geometry, colors, drawType, vertexBufferType, colorBufferType){
	this.geometry = geometry;
	this.position = geometry.position;
	
	this.drawType = null;
	this.vertexBufferType = null;
	this.colorBufferType = null;

	this.vertices = null;
	this.vertexSize = 3;
	
	this.colors = colors?colors:null;
	this.verticeColors = null;
	this.colorSize = 4;
	this.animations = new Array();
	
	this.initVertices = function(){
		// vertices already initiated from the constructor
		this.vertices = geometry.getVertices();
		// construct colors
		return;
		if(colors){
			if(this.colors.length!=3) throw "We need 3 color points for defining a pyramid color.";
			this.verticeColors = new Array();
			var c1=this.colors[0];
			var c2=this.colors[1];
			var c3=this.colors[2];
			for(var i=0;i<this.vertices.length/this.vertexSize;i++){
				this.verticeColors.push(c1.r);this.verticeColors.push(c1.g);this.verticeColors.push(c1.b);this.verticeColors.push(c1.a);
				this.verticeColors.push(c2.r);this.verticeColors.push(c2.g);this.verticeColors.push(c2.b);this.verticeColors.push(c2.a);
				this.verticeColors.push(c3.r);this.verticeColors.push(c3.g);this.verticeColors.push(c3.b);this.verticeColors.push(c3.a);
			}
		}
	}
}